nyaload

Журнал Пушыстого

Журнал Пушыстого

эргономика
nyaload
[info]_winnie
У стилуса N900 есть два конца. Один для того что бы писать/рисовать мелко на экране или нажимать мелкие кнопки, второй конец - по форме корпуса, что бы корпус был плавным и без дырок когда стилус убран в корпус.

Так вот, вторым концом стилуса - писать и рисовать удобней, чем тем который специально для работы с тач-скрином. Это же сколько усилий нужно было приложить дизайнеру, что кончик для рисования рисовал хуже, чем случайный кончик!

Предупреждая насмешки "зачем стилус вообще" - пальцами кнопки жмутся не хуже чем на двух других моих андроидах, и не сильно хуже чем на айфоне.


Длина береговой линии байкала
nyaload
[info]_winnie
Длина береговой линии - это примерно тоже самое, что и длина границы множества мандельброта. Её не существует. Если для длины реки есть ещё адекватные методологии, вроде "сколько плыть на лодке" (и у реки есть толщина), то у береговой линии - afaik, нет.

Был сильно удивлен, прочитав в википедии что "длина береговой линии байкала 2000 км".

Иллюстрация:
Read more... )

Бассейн с двумя трубами
nyaload
[info]_winnie
Когда-то реализовал (довольно стандартный) алгоритм max flow (точнее, нахождение паросочетаний). Недавно понадобилось написать ещё раз. Я полез в википедию, напрочь забыв и сам алгоритм, и (!!!) факт того, что я его уже реализовывал, и у меня есть свой исходник в моих файлах.

Полгода назад сломал мозг, но таки сделал мне нужную цепочку из ssh соединений, часть из которых reverse tunnel, а часть перекидывает порты. Сейчас опять ломал голову, в каком порядке засунуть три порта и шесть хостов (три настоящих и три localhost-алиаса) в ssh -L и ssh -R, как будто и не делал этого никогда.

Теперь отношусь к заявлениям "ну тебе надо просто прочитать мануал, и ты сможешь работать эффективней" ещё более критично. Нет, если я делаю какую-то задачу даже не раз в жизни, а раз в год, 40 раз за всю жизнь, то мануал придётся читать каждый раз. А за год такое знание выветрится, если не упражняешься постоянно. И программы которые пусть и менее эффективные, но зато простые в использовании - выигрывают.

Похоже, что знания которые я получил после 25 лет - исчезают, если не использовать их постоянно. То что выучено до - остаётся, даже после перерыва в пару лет. Например, книга Страуструпа по С++ осталась в голове, как и хоткеи Visual Studio, геймдев-трюки типа carmack fast square root. Алгоритмы, которые изучали в школе и универе. Сейчас же нет особого смысла изучить какой-то алгоритм или красивый бит-хак, и думать что вспомнишь его когда понадобится. Обидно, расти и накапливать опыт становится резко сложнее.

Это мой хвост
nyaload
[info]_winnie
Хочется в языках где принято полагаться на хвостовую рекурсию - уметь явно помечать вызов как хвостовой. Что бы компилятор мог поймать за руку, если я считаю что вызов хвостовой, а на самом деле это не так. Это не всегда очевидно, где хвоствой вызов, и иногда могут быть ошибки.

function f(x) { if (...) { return f(x-1); //хвостовая рекурсия } else { return 0; } } function f(x) { ... return 1 + f(x-1); //не хвостовая рекурсия }
_Winnie C++ Colorizer
Tags:

Попиксельная верстка
nyaload
[info]_winnie
Издевательтсво над верстальщиком: http://dobrokot.ru/pics/i2012-05-18__02-27-27_1145kb.jpg
(via)

Свабоду воле!
nyaload
[info]_winnie
Есть такое развлечение, спасать свободу воли человека от детерминизма Лапласа. Как же так, если положение каждого атома определено через их текущее положение и скорости, то получается что все системы вселенной развиваются по фиксированной траектории. Включая мышление человека и его поступки.

Квантовый принцип неопределённости не спасает свободу воли от детерминизма. Ну да, добавление датчика случайных чисел к детерминизму - вряд ли можно назвать "волей". Если у вас вместо рельсов жесткого сценария - игральный кубик поступков, вряд ли это можно назвать волей. Но её и не надо спасать.

Мне кажется, что "свобода воли" имеет смысл в мире человеческих представлений о мире, внутри того самого сознания, которое никак не могут найти. Взяли настоящий мир, спроектировали в какой-то наш мир нейронных связей (а могли бы - на кристаллы эмульсии для фотофиксации), и в этом мире вполне есть такие понятия как "Франция", "свобода воли", "туча", "долг", "право владения", "боль", "Микки Маус", ...


Мы мыслим "тучу" в сознании как один объект. И в разговоре оперируем ею как объектом. Хотя на самом деле - туча не объект. Во-первых, непонятно где она кончается и начинается, граница размыта. Во-вторых, это взвесь миллиона отдельных капелек, которые испаряются и появляются.

И свобода воли не имеет смысла в контексте траекторий координат частиц или плотности волны. В этом контексте даже неясно что такое "человек", для начала.

Чего к "свободе воли" привязались, полно же ведь вещей, которые есть только в наших мыслях, но нет в координатах атомов. А "боль", "радость", "долг", "красный" есть?

Навеяно хорошим постом о книжке http://nature-wonder.livejournal.com/210247.html


Как добавить прогрессбар к unix-команде?
nyaload
[info]_winnie
#!/bin/sh
cp_p()
{
   strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
      | awk '{
            count += $NF
            if (count % 10 == 0) {
               percent = count / total_size * 100
               printf "%3d%% [", percent
               for (i=0;i<=percent;i++)
                  printf "="
               printf ">"
               for (i=percent;i<100;i++)
                  printf " "
               printf "]\r"
            }
         }
         END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
}


Как это работает: команда strace отслеживает все системные вызовы команды, в данном случае следит за вызовом write.
$strace -q -ewrite echo HELLO >/dev/null
write(1, "HELLO\n", 6) = 6

В awk отслеживается размер записанного, делится на размер файла, циклами for рисуется прогресс бар из буковок. При помощи вывода \r в stdout следующая строка рисуется поверх предыдущей.

Источник: https://chris-lamb.co.uk/2008/01/24/can-you-get-cp-to-give-a-progress-bar-like-wget/

updated: в реальной жизни лучше таким не пользоваться. strace - он для отладки, тормозит, и cp не обещает использовать именно write. Конкретно для копирования с индикацией скорости можно использовать pv, rsync --progress, scp.

В данном способе - интересно, как можно влезть внутрь того, что казалось бы исправить нельзя.
Tags: ,
  • 16
  • Leave a comment
  • Add to Memories

tech/real world
nyaload
[info]_winnie
Разработка игр: Человек поправивший 10 багов в экспорте из 3dMAX и написавший мегабайт игрового кода получает приз: право написать графический шейдер/поиск пути

Web-разработка: Поправивший 10 деплой-скриптов и написавший 100 килобайт JS/server side кода получает приз: закодать строковый/machine learning алгоритм

date/time
nyaload
[info]_winnie
Бабушка попросила переставить на мобильном телефоне время на 10 минут назад.

На следущий день пожаловалась, что я ей ещё дату переставил на день вперёд.

Время я переставил с 00:05 на 23:55, подвоха не ожидал.

Источники
nyaload
[info]_winnie
Хм, не понимаю аллергии некоторых людей на википедию. Да, её пишет много людей, да, попадается откровенный бред (особенно в русской части) и ошибки. Да, надо перепроверять по учебникам и статьям, если действительно надо разобраться.

Но качество и достоверность случайной статьи в википедии - лучше чем случайной научной статьи или случайной книжки из книжного магазина. В которых тоже бывает откровенный обман, случайные ошибки, непонимание разницы между теорией и практикой.

Т.е. я могу понять почему не принимается ссылка на википедию в научной работе ("у нас так не принято", нужны конкретные ответственные редактора/авторы), но не понимаю почему в интернет-дискуссиях начинается троллинг "вы бы ещё на русскую википедию дали ссылку". Ссылка в википедию - гораздо ценней чем ссылка на какой-нибудь другой сайт или психологическое исследование британских ученых с "доказанной статистической значимостью". Ценнее - только ссылки на старые признанные учебники и в блоги признанных специалистов.

Начать читать про предмет в википедии - гораздо более эффективный способ начать выяснять истину, чем ехать в экспедицию и начать ставить опыты в своей лаборатории (единственный достоверный источник). А уже можно решить, какие учебники читать, блогам каких людей можно доверять. В любом случае придётся довериться каким-то людям, если сам не можешь в экспедицию/опыты ставить.

Возможно, важен мой профессиональный перекос - в математике и программировании я могу перепроверить простую теорему или алгоритм без просмотра источников, прям на месте, а вот в истории/биологии/физике так не выйдет.

You are viewing [info]_winnie's journal